package ar.com.hakasoft

import ar.com.hakasoft.entities.Factura

class NodoBase {

	String clave
	List<NodoBase> hijos = []
	
	def getTotal(){
		def total = hijos.collect { it.getTotal() }.sum()
		return total
	}	
	
	def add(Factura factura){
		def hijo = getHijo(factura.fecha.get(fecha.YEAR).toString())
		if (hijo){
			hijo.add(factura)
		}
	}
	
	def getHijo(valueClave){
		def hijo = hijos.find { it.clave == valueClave}
		if(!hijo) {
			hijo = new NodoAnio(clave: valueClave)
			hijos << hijo
		}
		return hijo
	}
	
	def getFecha(Factura factura){
		Calendar fecha = Calendar.getInstance()
		fecha.setTime(factura.fecha)
		return fecha
	}
}
